Returns an enumerator that iterates through the collection.
            
            
            
Syntax
            
						
            
            
            
            
Example
Library/Library.Test/TestLinkList.cs
             | C# |  Copy Code | 
|---|
LListNode<string>.LList list = new LListNode<string>.LList();
list.AddLast("B");
list.AddFirst("A");
System.Collections.Generic.IEnumerator<LListNode<string>> e = list.GetEnumerator();
using (e)
{
    Assert.IsTrue(e.MoveNext());
    Assert.IsTrue(ReferenceEquals(e.Current, ((System.Collections.IEnumerator)e).Current));
    Assert.AreEqual("A", e.Current.Value);
    list.Remove(e.Current);
    Assert.IsTrue(e.MoveNext());
    Assert.IsTrue(ReferenceEquals(e.Current, ((System.Collections.IEnumerator)e).Current));
    Assert.AreEqual("B", e.Current.Value);
    list.Remove(e.Current);
    Assert.IsFalse(e.MoveNext());
    Assert.IsTrue(list.IsEmpty);
    list.AddLast(String.Empty);
    e.Reset();
    Assert.IsTrue(e.MoveNext());
    Assert.AreEqual(String.Empty, e.Current.Value);
    Assert.IsFalse(e.MoveNext());
    try
    {
        GC.KeepAlive(e.Current);
        Assert.Fail();
    }
    catch (InvalidOperationException)
    { }
}
//now e is disposed...
try
{
    e.MoveNext();
    Assert.Fail();
}
catch (ObjectDisposedException) { }
try
{
    GC.KeepAlive(e.Current);
    Assert.Fail();
}
catch (ObjectDisposedException) { }
try
{
    e.Reset();
    Assert.Fail();
}
catch (ObjectDisposedException) { } | 
 
| VB.NET |  Copy Code | 
|---|
Dim list As New LListNode(Of String).LList()
list.AddLast("B")
list.AddFirst("A")
Dim e As System.Collections.Generic.IEnumerator(Of LListNode(Of String)) = list.GetEnumerator()
Using e
    Assert.IsTrue(e.MoveNext())
    Assert.IsTrue(ReferenceEquals(e.Current, (DirectCast(e, System.Collections.IEnumerator)).Current))
    Assert.AreEqual("A", e.Current.Value)
    list.Remove(e.Current)
    Assert.IsTrue(e.MoveNext())
    Assert.IsTrue(ReferenceEquals(e.Current, (DirectCast(e, System.Collections.IEnumerator)).Current))
    Assert.AreEqual("B", e.Current.Value)
    list.Remove(e.Current)
    Assert.IsFalse(e.MoveNext())
    Assert.IsTrue(list.IsEmpty)
    list.AddLast([String].Empty)
    e.Reset()
    Assert.IsTrue(e.MoveNext())
    Assert.AreEqual([String].Empty, e.Current.Value)
    Assert.IsFalse(e.MoveNext())
    Try
        GC.KeepAlive(e.Current)
        Assert.Fail()
    Catch generatedExceptionName As InvalidOperationException
    End Try
End Using
'now e is disposed...
Try
    e.MoveNext()
    Assert.Fail()
Catch generatedExceptionName As ObjectDisposedException
End Try
Try
    GC.KeepAlive(e.Current)
    Assert.Fail()
Catch generatedExceptionName As ObjectDisposedException
End Try
Try
    e.Reset()
    Assert.Fail()
Catch generatedExceptionName As ObjectDisposedException
End Try | 
 
 
            
            
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
 
            
            
See Also